<html>
  <head>
    <title>XtraGrid.DxValidateColumnProvider</title>
    <link rel="stylesheet" type="text/css" href="../../styles/presentation.css" />
    <link rel="stylesheet" type="text/css" href="ms-help://Hx/HxRuntime/HxLink.css" />
    <script type="text/javascript" src="../../scripts/EventUtilities.js"></script>
    <script type="text/javascript" src="../../scripts/SplitScreen.js"></script>
    <script type="text/javascript" src="../../scripts/Dropdown.js"></script>
    <script type="text/javascript" src="../../scripts/script_loc.js"></script>
    <script type="text/javascript" src="../../scripts/script_manifold.js"></script>
    <script type="text/javascript" src="../../scripts/script_feedBack.js"></script>
    <script type="text/javascript" src="../../scripts/CheckboxMenu.js"></script>
    <script type="text/javascript" src="../../scripts/CommonUtilities.js"></script>
  </head>
  <body>
    <input type="hidden" id="userDataCache" class="userDataStyle" />
    <input type="hidden" id="hiddenScrollOffset" />
    <img id="collapseImage" style="display:none; height:0; width:0;" src="../../icons/collapse_all.gif" title="Collapse image" />
    <img id="expandImage" style="display:none; height:0; width:0;" src="../../icons/expand_all.gif" title="Expand Image" />
    <img id="collapseAllImage" style="display:none; height:0; width:0;" src="../../icons/collapse_all.gif" />
    <img id="expandAllImage" style="display:none; height:0; width:0;" src="../../icons/expand_all.gif" />
    <img id="dropDownImage" style="display:none; height:0; width:0;" src="../../icon/dropdown.gif" />
    <img id="dropDownHoverImage" style="display:none; height:0; width:0;" src="../../icons/dropdownHover.gif" />
    <img id="copyImage" style="display:none; height:0; width:0;" src="../../icons/copycode.gif" title="Copy image" />
    <img id="copyHoverImage" style="display:none; height:0; width:0;" src="../../icons/copycodeHighlight.gif" title="CopyHover image" />
    <div id="header">
      <table id="topTable" cellspacing="0" cellpadding="0">
        <tr>
          <td>
            <span onclick="ExpandCollapseAll(toggleAllImage)" style="cursor:default;" onkeypress="ExpandCollapseAll_CheckKey(toggleAllImage, event)" tabindex="0">
              <img ID="toggleAllImage" class="toggleAll" src="../../icons/collapse_all.gif" />
              <label id="collapseAllLabel" for="toggleAllImage" style="display: none;">Collapse All</label>
              <label id="expandAllLabel" for="toggleAllImage" style="display: none;">Expand All</label>
            </span>
          </td>
        </tr>
      </table>
      <table id="bottomTable" cellpadding="0" cellspacing="0">
        <tr id="headerTableRow1">
          <td align="left">
            <span id="runningHeaderText">DevExpress Contrib</span>
          </td>
        </tr>
        <tr id="headerTableRow2">
          <td align="left">
            <span id="nsrTitle">
                  XtraGrid.DxValidateColumnProvider
               </span>
          </td>
          <td align="center" style="width: 1px; padding: 0px">
            <img src="../../images/DevExContrib 32.png" alt="DevExpress Contrib" />
          </td>
        </tr>
        <tr id="headerTableRow3">
          <td align="left">
            <span id="headfb" class="feedbackhead" />
          </td>
        </tr>
      </table>
      <table id="gradientTable">
        <tr>
          <td class="nsrBottom" background="../../icons/gradient.gif" />
        </tr>
      </table>
    </div>
    <div id="mainSection">
      <div id="mainBody">
        <div class="Content">
          <p>The DxValidationProvider supplies a convenient path to validating input. However, it is
          more difficult to validate input in the GridControl. The DxValidateColumnProvider is an attempt
          to make this process more convenient.</p>
          <p><img src="../../Images/ColumnValidation.gif" alt="DxValidateColumnProvider" height="443" width="501"/></p>
          <p>The DxValidateColumnProvider manages views, columns within those views, and validation rules. Multiple grid views
          can be added to the provider. Column validation rules can then be added to the provider. A rule is associated with
          a column. Also, a rule to validate a complete grid row can be associated with the provider.</p>
          <p>Like the DxValidationProvider, two default validation rules are supplied. First, the ConditionColumnProvider
          allows you to validate against a condition; it uses the same ConditionOperator which is used in the
          DxValidationProvider. The second rule is the CompareAgainstColumnValueValidator which allows you to validate
          the column value against a different column within the current grid row; it also uses the same CompareControlOperator
          which is used int eh DxValidationProvider. These two rules should handle many of your validation needs.</p>
          <p>In addition, you can create custom validation rules. In general you will descend from the ColumnValidationRule.
          However, you can also implement the IColumnValidator. If you do so you will probably want to take advantage of the
          helper class DxValidateColumnProviderHelper which provides many of the tools used in the ColumnValidationRule.</p>

          <p><strong>NOTE:</strong> the call to set column error is invoked on the view. Since detail views are created on the fly, it
          is not yet possible to set column errors on detail views. It may work by creating the views/levels at design
          time but this functionality has not be investigated or tested.</p>
          <p>DxValidateColumnProvider is not a toolbox component and does not have a UI designer. In other ways, it is
          designed to work similar to the DxValidationProvider. See <a href="../Task-Based Help/Getting Started/UsingDxValidateColumnProvider.html">
          Using the DxValidationProvider</a>.</p>
          <p></p>
        </div>
      </div>
      <div id="footer">
        <div class="footerLine">
          <img width="100%" height="3px" src="../../icons/footer.gif" title="Footer image" />
        </div>
        <p />
        <div id="DevLynxVersion">
           <p><small>v2009.0.3332.39062 (2009-02-14  21:42:04)</small></p>
        </div>
        <div id="DevLynxCopyright">
           <p>Copyright &copy; 2008-2009, DevLynx</p>
        </div>
      </div>
    </div>
  </body>
</html>
<!-- @SortOrder 2 -->
